모의해킹
리눅스명령어_08_터미널 멀티플렉서(TMUX)
작성자 : Heehyeon Yoo|2025-11-15
# Linux# CLI# TMUX# 도구
1. 개요(Overview)
티먹스(TMUX)란?
- 정의: 터미널 멀티플렉서(Terminal Multiplexer)의 약자로, 하나의 터미널 창 안에서 여러 개의 가상 터미널을 생성하고 관리할 수 있게 해주는 도구이다.
- 비유: 웹 브라우저의 '탭(Tab)' 기능과 유사하다. 하나의 브라우저 창에서 여러 탭을 열어 동시에 여러 사이트를 보듯, Tmux는 하나의 터미널에서 여러 작업을 동시에 수행할 수 있게 해준다.
왜 사용하는가?
- 세션 유지(Persistence): 원격 서버 접속이 끊겨도(로그아웃), Tmux 세션 안에서 실행 중인 프로세스는 종료되지 않고 백그라운드에서 계속 돌아간다. 다시 접속(Attach)하면 작업하던 화면 그대로 복구된다.
- 화면 분할(Pane Splitting): 화면을 가로/세로로 자유롭게 쪼개서, 한쪽은 서버 실행, 한쪽은 코드 수정, 다른 한쪽은 로그 확인 등 멀티태스킹이 가능하다.
- 헤드리스 환경 대응(Headless Environment): 모니터가 없는 서버 환경(CLI Only)에서 GUI 없이도 다중 작업을 효율적으로 수행할 수 있다.
- 협업(Collaboration): 하나의 세션에 여러 사용자가 동시에 접속하여 같은 화면을 공유할 수 있다.
2. 기본 구성 요소(Components)
Tmux는 3가지 계층 구조로 이루어져 있다.
- 세션(Session): Tmux의 가장 큰 실행 단위. 하나 이상의 윈도우를 포함한다.
- 윈도우(Window): 세션 내의 탭(Tab) 개념. 하나의 화면 전체를 의미한다.
- 페인(Pane): 윈도우 내부를 쪼갠 작은 칸. 실제 터미널 작업이 이루어지는 공간이다.
3. 핵심 단축키(Key Bindings)
Tmux의 모든 명령은 프리픽스 키(Prefix Key)를 먼저 누른 후 실행된다.
- 기본 프리픽스 키:
Ctrl+b
세션 관리(Session Management)
- 새 세션 생성:
tmux new -s [세션이름]- 예:
tmux new -s work
- 예:
- 세션 목록 확인:
tmux ls - 세션 접속(Attach):
tmux attach -t [세션이름]- 예:
tmux attach -t work
- 예:
- 세션 분리(Detach):
Prefix+d(작업 내용을 유지한 채 밖으로 나감)
윈도우 관리(Window Management)
- 새 윈도우 생성:
Prefix+c(Create) - 윈도우 이름 변경:
Prefix+,(Rename) - 윈도우 이동:
Prefix+n: 다음(Next) 윈도우로 이동Prefix+p: 이전(Previous) 윈도우로 이동Prefix+[숫자]: 해당 번호의 윈도우로 바로 이동
페인 관리(Pane Management)
- 화면 수직 분할(좌/우):
Prefix+%(Shift + 5) - 화면 수평 분할(위/아래):
Prefix+"(Shift + ') - 페인 간 이동:
Prefix+방향키 - 페인 줌(Zoom In/Out):
Prefix+z(현재 페인을 전체 화면으로 확대/복구) - 페인 닫기:
exit명령어나Ctrl+d
스크롤 모드(Scroll Mode)
- 진입:
Prefix+[ - 이동:
PageUp/PageDown또는 방향키로 지난 기록 확인. - 종료:
q(Quit)
4. 실무 활용 팁(Practical Use Cases)
작업 환경 분할 예시
하나의 윈도우를 다음과 같이 분할하여 업무 효율을 높인다.
- Pane 1(좌측): 서버/서비스 실행 및 모니터링
- Pane 2(우측 상단): 코드 편집 (Vim 등)
- Pane 3(우측 하단): Git 명령어 실행 또는 파일 탐색
로깅과 보존(Logging & History)
- Tmux는 세션 내의 모든 활성 시간과 명령어 기록을 유지하는 데 탁월하다.
- 사고 분석이나 감사(Audit) 시, 특정 세션에서 언제 어떤 명령어가 실행되었는지 추적하기 용이하다.